namespace FMM_MIGHT {
	class A {
		int* data;
		A(const A&) { /* prohibited */ }
		A& operator =(const A&) { /* prohibited */ }
	public:
		A() {
			data = new int[10];
		}

		~A() {
			delete[] data;
		}
	};

	void foo(A** pp, bool t) {
		if (!*pp) {
			*pp = new A[5];
		}
		if (t) {
			delete* pp;
			*pp = 0;
		}
	}
}